/**
 * 封装微信支付函数
 * @param params - 微信支付所需的参数对象
 * @param params.timeStamp - 时间戳，从 1970 年 1 月 1 日 00:00:00 至今的秒数
 * @param params.nonceStr - 随机字符串，长度需在 32 个字符以内
 * @param params.package - 统一下单接口返回的 prepay_id 参数值，格式为 prepay_id=*
 * @param params.signType - 签名类型，支持 'MD5' 和 'HMAC-SHA256'
 * @param params.paySign - 签名
 * @returns 返回一个 Promise，支付成功时 resolve，失败时 reject
 */
export const wxPay = (params: {
    timeStamp: string;
    nonceStr: string;
    package: string;
    signType: 'MD5' | 'HMAC-SHA256';
    paySign: string;
  }): Promise<void> => {
    return new Promise((resolve, reject) => {
      if (!params) {
        reject(new Error('微信支付参数不能为空'));
        return;
      }
      // 调用微信支付接口
      uni.requestPayment({
        ...params,
        // 假设 provider 和 orderInfo 为可选参数，这里先设置默认值，实际使用时需根据业务调整
        // 根据函数名 wxPay 推测，这里应该使用微信支付，所以将 provider 设置为 'wxpay'
        provider: 'wxpay',
        orderInfo: '', 
        success: () => {
          // 支付成功
          resolve();
        },
        fail: (err) => {
          // 支付失败
          reject(err);
        },
      });
      });
    }
